1. Field of the Invention
The present invention relates to a method for accessing data from a optical disc recorder and related apparatus, and more particularly, to a method for storing program codes and optimized power calibration data into the same non-volatile memory of the optical disc recorder.
2. Description of the Prior Art
Optical discs have many advantages, such as low-cost and compact-size, and have become a most popular storage media in recent years.
Data cannot be recorded onto an optical disc without the help of an optical disc recorder. Please refer to FIG. 1, which is a functional block diagram of a prior art optical disc recorder 10. The optical disc recorder 10 is a compact disc recorder or a digital versatile disc recorder. The optical disc recorder 10 comprises a motor 14B for spinning a optical disc 12 that is placed on top of the motor 14B, a controller 16 for managing the optical disc recorder 10, a volatile random access memory (RAM) 18 for registering data, and a programmable non-volatile flash memory 20B with a program code 22 therein. The controller 16 manages the optical disc recorder 10 according to the program code 22 and registers the data that needs to be registered into the RAM 18. The optical disc recorder 10 also comprises an optical module 14A for generating laser beams and for projecting the laser beams onto the optical disc 12. The optical module 14A also generates corresponding signals by detecting light reflected by the optical disc 12 and then transmits the signals to the controller 16. After analyzing the signals, the controller 16 adjusts the rotational speed of the motor 14B according to a predetermined algorithm of the program code 22. Furthermore, the controller 16 controls the optical module 14A to record data into the optical disc 12 by emitting laser beams with a predetermined power according to another algorithm of the program code 22.
Because optical discs manufactured by different companies have different physical and optical characteristics, the optical module 14A needs to adjust the laser power to record data onto different optical discs. The controller 16 is also capable of controlling the optical module 14A to execute an optimized power calibration (OPC) process to determine an appropriate laser power for the optical disc 12. The OPC process can obtain an OPC data for each optical disc. Optical discs manufactured by different companies correspond to different laser powers, and thus different OPC data. On the other hand, each optical disc manufacturer stores corresponding information, such as optical disc type and company code, onto the optical discs as an identification code. For example, the optical disc 12 has an identification code 28. The controller 16 can also obtain information about a optical disc from its identification code.
For storing the OPC data of each type of optical disc, the optical disc recorder 10 also comprises a read only memory (ROM) 20A. The ROM 20A comprises an information table 24, and the information table 24 comprises a plurality of entries 26A, 26B, and 26C. As shown in the information table 24, a plurality of identification codes T1, T2, and T3 correspond to a plurality of OPC data OPCp1, OPCp2, and OPCp3.
Please refer to FIG. 2. FIG. 2 is a flowchart illustrating an OPC data accessing process 100 according to the prior art. The OPC data accessing process 100 comprises following steps:
Step 102: Start;
(The controller 16 executes the process 100 to obtain the OPC data of the optical disc 12 before the optical disc recorder 10 records data onto the optical disc 12.)
Step 104: Read an identification code;
(The controller 16 controls the optical module 14A to read the identification code 28 of the optical disc 12.)
Step 106: Determine whether the identification code 28 is identical to any identification code stored in the ROM 20A;
(In FIG. 1, three identification codes T1 to T3 are stored in the ROM 20A. The controller 16 will compare the identification code 28 of the optical disc 12 with the codes T1 through T3 one by one. If the identification code 28 matches one of these three codes T1 to T3, the ROM 20A already contains the OPC data of the optical disc 12. Go to Step 108. On the contrary, go to Step 110 to obtain an OPC data.)
Step 108: Read OPC data from the ROM 20A.
(The controller 16 controls the optical module 14A with an optimized power according to the OPC data to record data onto the optical disc 12. For example, if the identification code 28 is identical to the identification code T2, the controller 16 controls the optical module 14A with an optimized power according to the OPC data OPCp2 read from the ROM 20A to record data onto the optical disc 12. Because recording data onto a optical disc usually suffers from environmental fluctuations, the OPC data OPCp2 can be used to further determine a more precise OPC data for the optical disc 12.)
Step 110: Execute an OPC process;
(The controller 16 controls the optical module 14A to execute an OPC process to obtain the OPC data of the optical disc 12. Usually, an OPC process will be performed on a predetermined area of the optical disc 12. Because an OPC process is well known by those skilled in this art, no detailed description is provided here.) Step 112: Store the OPC data corresponding to the identification code 28 and the identification code 28 itself in the ROM 20A; (The number of entries of the ROM 20A is incremented by one, as the identification code 28 and the corresponding new OPC data are stored in the ROM 20A.)
Step 114: End.
(The controller 16 has now obtained the OPC data of the optical disc 12 either from reading from the ROM 20A or from executing an OPC process. The controller 16 can control the optical module 14A with the optimized power according to the OPC data to record data onto the optical disc 12.) Whenever the optical disc recorder 10 records data to a new type optical disc, the optical module 14A will generate a new OPC data and store the new OPC data in the ROM 20A. Therefore, an extra ROM is necessary for the prior art optical disc recorder 10 to store these new OPC data. Although the optical disc recorder 10 is installed with the programmable flash memory 20B, the flash memory 20B cannot execute reading and writing functions simultaneously. That is, when the controller 16 reads the program code 22 stored in the programmable flash memory 20B, it cannot simultaneously write OPC data into the programmable flash memory 20B. The extra ROM also needs complex circuitry to function normally. So a high cost prior art optical disc recorder 10 is inevitable.